home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 201-225 / disk_217 / snipit / snipit.doc < prev    next >
Text File  |  1992-05-06  |  11KB  |  320 lines

  1. SnipIt 1.2  -  Copyright (c) 1988 - Scott Evernden,  All Rights Reserved
  2.  
  3.  
  4. What is SnipIt?
  5. ================
  6.  
  7. SnipIt is a CLI program which allows you to copy text directly from  the
  8. Amiga  screen  in any window, and then paste it into any other place, as
  9. though you had typed that text at the keyboard.  You mark the  text  you
  10. want  to  'snip' using the mouse.  You also use the mouse to 'paste' the
  11. last snipped text into the active window, requester, or anywhere.
  12.  
  13. SnipIt is a program which installs itself into the input stream handling
  14. code  of  AmigaDOS.   It  waits  for you to hold down the LEFT-AMIGA (or
  15. optionally another key) while using the mouse.
  16.  
  17.  
  18. Running the Program
  19. ===================
  20.  
  21. This program will only run properly from the CLI.  You start it like
  22.  
  23.   > snipit
  24.  
  25. at which point, SnipIt will install itself, and print a message.
  26.  
  27. You can control certain operations and modes of SnipIt  when  you  first
  28. install  it  and  later  while  it  is  running.   You do this by typing
  29. "snipit" with 'option' letters and possible arguments.  For example, you
  30. can tell SnipIt to stop running:
  31.  
  32.   > snipit q
  33.  
  34. In  other  words,  type  "snipit"  followed  by a "q" for 'quit'.  Other
  35. options to control SnipIt's behavior will be described below.
  36.  
  37.  
  38. Marking Text to be Copied
  39. =========================
  40.  
  41. To mark text to  be  copied,  simply  depress  the  LEFT-AMIGA  key  (by
  42. default),  move the mouse pointer to a position in any window containing
  43. text and hold down the LEFT mouse button.  While holding down  the  LEFT
  44. mouse button you move the mouse to the opposite end of the text area you
  45. want to copy and then  release.   As  you  do  this,  SnipIt  will  mark
  46. (hilight) both ends of the area you are designating.
  47.  
  48. Once  you  have  released  the  LEFT  mouse  button,  SnipIt  will fully
  49. highlight and 'snapshot' the text within the area you have marked out.
  50.  
  51.  
  52. Pasting the Copied Text
  53. =======================
  54.  
  55. You can deposit  the  text  you  copied  by,  again,  holding  down  the
  56. LEFT-AMIGA key, and clicking the RIGHT mouse button.
  57.  
  58. SnipIt  will  inject  keystroke  codes into the input stream, so you can
  59. paste text into any active window, requester, or anything else which  is
  60. expecting keyboard input.
  61.  
  62. You can paste copied text as many times as you want.
  63.  
  64. SnipIt  will  un-hilight the selected area whenever any output occurs in
  65. the highlighted window.  You can still paste the copied  text,  however,
  66. even though the highlighting has been removed.
  67.  
  68.  
  69. Limitations of This Version
  70. ===========================
  71.  
  72. SnipIt  can  recognize any font in any height, only as long as that font
  73. is fixed width and 8 pixels wide.
  74.  
  75. SnipIt in its current form cannot recognize text  which  is  italicised,
  76. underlined, or is drawn in certain colors.  In some unusual colored text
  77. cases, SnipIt will be 'blind' thinking it is  seeing  space  characters,
  78. and you will get nothing but spaces while pasting.
  79.  
  80. SnipIt  can  only  recognize  character  codes  between ASCII 32-127, so
  81. special characters (requiring the ALT key  to  generate)  will  not  get
  82. recognized  properly.   If SnipIt cannot figure out a character, it will
  83. substitute a '?' (question mark) character.
  84.  
  85. SnipIt appears to work properly  with  the  ConMan  replacement  console
  86. handler by William Hawes.  SnipIt also appears to work properly with the
  87. NEWCON:  window of AmigaDOS  1.3.   SnipIt  may  highlight  areas  in  a
  88. peculiar  fashion  in  windows  having the GIMMEZEROZERO attribute (eg.,
  89. AmigaBasic).
  90.  
  91. This program will also co-operate with programs like SunMouse and others
  92. which can change window activation automatically.   However,  note  that
  93. each  character  of  any  pasted text will arrive in whatever window the
  94. mouse is currently in.
  95.  
  96.  
  97. New Features of Version 1.2
  98. ===========================
  99.  
  100. Automatically runs in the background
  101. ------------------------------------
  102. You no longer need to 'run'  SnipIt-  the  program  is  now  capable  of
  103. detaching itself and running automatically in the background.
  104.  
  105. Snips from both consoles and regular windows
  106. --------------------------------------------
  107. SnipIt  can  now  recognize  text  in  plain  old windows (not only just
  108. console windows anymore).  So, applications like  WPLibrary  P-Edit  and
  109. VT100 terminal programs can be 'snipped' from.  Note that SnipIt assumes
  110. that text is being displayed in the window is some kind  of  cell  array
  111. (like  a terminal).  It probably won't do what you want in programs like
  112. Deluxe Paint, and others which can place text anywhere in the window.
  113.  
  114. Built in mini-help
  115. ------------------
  116. SnipIt will give you a quick rundown of its options if you type:
  117.  
  118.   > snipit h
  119.  
  120. or
  121.  
  122.   > snipit ?
  123.  
  124. Prestring insertion while pasting
  125. ---------------------------------
  126. The program now provides an option to insert a  short  text  string 
  127. before each line of characters as it is pasted.  This can be useful
  128. if  you are 'snipping' text which you wish to 'quote'.  You do this
  129. by depressing  the   LEFT-ALT  key  (by  default),  instead  of the
  130. LEFT-AMIGA key while pasting.  For  example,  if  I  snip, and then
  131. paste this paragraph using LEFT-ALT, I get:
  132.  
  133. > The program now provides an option to insert a  short  text  string
  134. > before each line of characters as it is pasted.  This can be useful
  135. > if  you are 'snipping' text which you wish to 'quote'.  You do this
  136. > by depressing  the   LEFT-ALT  key  (by  default),  instead  of the
  137. > LEFT-AMIGA key while pasting.  For  example,  if  I  snip, and then
  138. > paste this paragraph using LEFT-ALT, I get:
  139.  
  140. Note,  a  ">  "  (the  default) string has been prepended to each pasted
  141. line.  This string can be changed at any time by:
  142.  
  143.   > snipit p "the prestring:  "
  144.  
  145. where the text appears between quotes after a "p".   Actually,  you  can
  146. use any delimiter, and not only quotes, like:
  147.  
  148.   > snipit p .the prestring:  .
  149.  
  150. Just  repeat  the  initial  character  at  the end.  Your prestring must
  151. contain no more than 32 characters.
  152.  
  153. Character cell location adjustments
  154. -----------------------------------
  155. Sometimes, in non-console  windows,  the  text  may  not  be  placed  in
  156. positions  that SnipIt can locate.  SnipIt 1.2 now provides options that
  157. allow you to slightly adjust its idea of where characters are located in
  158. the window:
  159.  
  160.   > snipit x +2 y -1
  161.  
  162. will move the snip area in windows, right by 2 pixels and up by one.  If
  163. you find that SnipIt is producing lots of ???????s while  pasting,  then
  164. you  may  need  to  use this option to adjust the cell area (highlighted
  165. area) slightly.  For example, P-Edit currently requires:
  166.  
  167.   > snipit x -1
  168.  
  169. as text characters are draw one pixel higher than SnipIt would otherwise
  170. assume.  Dave Wecker's VT100 currently requires:
  171.  
  172.   > snipit y -1
  173.  
  174.  
  175. You can also correct the x and y cell positions in console windows using
  176. the 'u' and 'v' options:
  177.  
  178.   > snipit u -3 v +1
  179.  
  180. will move the snip area in consoles, left by 3 pixels, and down by  one.
  181. For  example,  Eric  Haberfellner's Handshake (VT100 emulator) currently
  182. needs:
  183.  
  184.   > snipit v +3
  185.  
  186. In most circumstances, you shouldn't need to use the 'u' and 'v' options
  187. to adjust for console windows.
  188.  
  189.  
  190. Improved recognition
  191. --------------------
  192. SnipIt  can  now  recognize  highlighted and inverted characters- you no
  193. longer have to move that darn cursor away from your text.
  194.  
  195. Freeze windows while snipping
  196. -----------------------------
  197. If you type:
  198.  
  199.   > snipit l 1
  200.  
  201. ("l" for 'lock') Snipit 1.2 will freeze the window or console which  you
  202. are  snipping from.  This can be useful if you are trying to 'snip' text
  203. in a window that would otherwise scroll.
  204.  
  205.   > snipit l 0
  206.  
  207. turns this option off.
  208.  
  209. Re-assignable keyboard use
  210. --------------------------
  211. Normally, you snip and paste using the LEFT-AMIGA  key;  you  can  paste
  212. with  a  prestring  using  the  LEFT-ALT  key  while pasting.  These key
  213. choices can be changed.  You change the normal, or Command-A,  key  from
  214. the LEFT-AMIGA to another key by:
  215.  
  216.   > snipit a <hexcode>
  217.  
  218. where the <hexcode> is from this table:
  219.  
  220.         LEFT-SHIFT ....  0001
  221.         RIGHT-SHIFT ...  0002
  222.         CONTROL .......  0008
  223.         LEFT-ALT ......  0010 <- default Command-B key
  224.         RIGHT-ALT .....  0020
  225.         LEFT-AMIGA ....  0040 <- default Command-A key
  226.         RIGHT-AMIGA ...  0080
  227.  
  228. other values won't work.  So, to use the CONTROL key instead, you:
  229.  
  230.   > snipit a 0008 (or just 8, you don't need the leading 0s).
  231.  
  232. The  Command-B  key,  normally  the  LEFT-ALT  key,  can be changed, for
  233. example, to the Right-Shift key:
  234.  
  235.   > snipit b 0002
  236.  
  237.  
  238. Default settings
  239. ----------------
  240. By default snipit acts as though you had done:
  241.  
  242.   > snipit p"> " l0 u0 v0 x0 y0 a0040 b0010
  243.  
  244. meaning:
  245.  
  246.   o (p) use "> " as the prestring when pasting with the Command-B key
  247.   o (l) don't freeze the window being snipped from
  248.   o (u, v) no adjustment to cell area when snipping from consoles
  249.   o (x, y) no adjustment to cell area when snipping from windows
  250.   o (a) use LEFT-AMIGA for Command-A operation-  regular snips and pastes
  251.   o (b) use LEFT-ALT for Command-B operation- insert prestring on pastes
  252.  
  253.  
  254. Bugs
  255. ====
  256.  
  257. I have not gone to any special effort to check if Windows or Screens are
  258. closed,  or  otherwise  disappear,  while  the  mouse  is  being used to
  259. highlight a text area.  The system will likely Guru if this happens.
  260.  
  261. SnipIt  only  works  properly with the usa0 keymap (more below).  Dvorak
  262. (usa2) will not, and certain  non-usa  keyboards/keymaps  may  not  work
  263. properly with SnipIt.   However, a 'patch' program is included to modify
  264. SnipIt to work with other keymaps.   See the file "PATCH.DOC"  for  more
  265. information.
  266.  
  267.  
  268. Ideas for the Future
  269. ====================
  270.  
  271. In approximate order of importance to me:
  272.  
  273. The next SnipIt will hopefully do a better job in dealing with  KeyMaps.
  274. Currently,  SnipIt  uses  a  hardcoded  table  of  keycodes  for pasting
  275. character codes into the input stream.  I'm not real  happy  with  this,
  276. because  it  is  not the best design.  This will be fixed next.
  277.  
  278. Recognize, as an option, ALL characters, even ones requiring the ALT key
  279. to generate (full 8-bit ASCII).
  280.  
  281. An 'appending' snip.  The next version of SnipIt will probably allow you
  282. to 'append' or add newly snipped  material  to  the  end  of  previously
  283. snipped  text.   This  way,  you  could  actually 'compose' a message by
  284. collecting text from different parts of one  or  several  windows.   The
  285. Command-B key is planned for this use while snipping.
  286.  
  287. Send  snipped text to a device or file instead of into the input stream.
  288. This way, you could direct snipped text into a PIPE:, for example.
  289.  
  290. Use the clipboard- some day.
  291.  
  292. Recognize text that isn't 8  pixels  wide,  is  colored,  underlined  or
  293. italicised.  Don't hold your breath on these.
  294.  
  295. The SnipIt program acts like 2 different programs:
  296.   1. As the resident SnipIt program doing the real work.
  297.   2. As the user interface communicating options to the resident SnipIt.
  298.  
  299. Currently, the resident SnipIt also carries the code used  by  the  user
  300. interface  portion.   This  is a mild waste of memory (less than 5K).  A
  301. future version of SnipIt may release code sections not required for  the
  302. resident portion, thereby reducing consumption of memory.
  303.  
  304.  
  305. ==========================================================================
  306.  
  307. Comments and contributions to:
  308. ------------------------------
  309.  
  310. plink:  SCOTT E
  311. bix:    s_evernden
  312. cis:    73116,3451
  313. uucp:   {ames,rutgers}!harvard!m2c!applix!scott
  314.         scott@applix.m2c.org
  315.  
  316. Scott Evernden
  317. 9 Courtland St.
  318. Holliston, MA 01746
  319.  
  320.